package Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class StudentUtil implements  StudentInterface  {
    static Scanner sc = new Scanner(System.in);
    static List<Student> list = new ArrayList<>();
    //添加
    @Override
    public void addData() {
        System.out.println("格式为:学号 姓名 年龄");
        while (true){
            System.out.print("请输入您要添加的信息:");
            String[] s = sc.nextLine().split(" ");
            if(s.length==3){
                Student stu = new Student(s[0],s[1],Integer.parseInt(s[2]));
                for(Student i:list){
                    if(i.getId().equals(s[0])){
                        System.out.println("添加失败！学号已存在！");
                    }else{
                        if(i.equals(stu)){
                            System.out.println("添加失败！此数据已存在!");
                            break;
                        }
                    }
                }
                list.add(stu);
                while(true){
                    System.out.println("是否需要继续录入信息？[yes/no]");
                    String f = sc.nextLine();
                    if(f.equals("yes")){
                        break;
                    }else if(f.equals("no")){
                        return;
                    }else{
                        continue;
                    }
                }
            }
        }
    }
    //删除
    @Override
    public void deleteData() {
        System.out.println("请输入要删除的学号:");
        String id = sc.nextLine();
        for(int i=0;i<list.size();i++){
            if(list.get(i).getId().equals(id)){
                list.remove(i);
                System.out.println("删除成功!");
                return;
            }
        }
        System.out.println("未找到记录！");
    }
    //修改
    @Override
    public void upData() {
        System.out.println("请输入要修改的学号:");
        String id = sc.nextLine();
        for(int i=0;i<list.size();i++){
            if(list.get(i).getId().equals(id)){
                System.out.println("请输入要修改的数据[学号 姓名 年龄]");
                String[] s = sc.nextLine().split("\\s+");
                if(s.length==3){
                    for(Student j:list){
                        if(j.getId().equals(s[0])){
                            System.out.println("修改失败！学号已存在！");
                            return;
                        }
                    }
                    list.set(i,new Student(s[0],s[1],Integer.parseInt(s[2])));
                    System.out.println("修改成功!");
                    return;
                }else{
                    System.out.println("输入错误！");
                    return;
                }
            }
        }
        System.out.println("未找到记录！");
    }
    //查询
    @Override
    public void selectData() {
        if(list.isEmpty()){
            System.out.println("无数据记录！");
        }else{
            System.out.println("------------------------------");
            System.out.println(list.toString().replaceAll("\\[|\\]|\\, ",""));
        }
    }
}
